package be.ipl.pigolo.testDomaine;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

import java.util.ArrayList;
import java.util.List;

import org.junit.Before;
import org.junit.Test;

import be.ipl.pigolo.domaine.De;
import be.ipl.pigolo.domaine.DeOrdre;
import be.ipl.pigolo.domaine.DeOrdre.Action;

public class TestDeOrdre {

	/**
	 * @param args
	 */

	private De deOrdre;
	private List<Integer> listEntiers;

	@Before
	public void setUp() throws Exception {
		this.deOrdre = new DeOrdre();
		this.deOrdre.setValeur(4);
		this.listEntiers = new ArrayList<>();
		this.listEntiers.add(1);
		this.listEntiers.add(2);
		this.listEntiers.add(3);
		this.listEntiers.add(4);
		this.listEntiers.add(5);
		this.listEntiers.add(6);
	}

	@Test
	public void testConstructeur() {
		this.deOrdre = new DeOrdre();
		assertNotNull(deOrdre);
		assertEquals(0, this.deOrdre.getValeur());
	}

	@Test
	public void testGetValeur() {
		assertEquals(4, this.deOrdre.getValeur());
	}

	@Test
	public void testLancerDe() {
		 this.deOrdre.lancerUnDe();
		 int lancer = this.deOrdre.getValeur();
		assertTrue(this.listEntiers.contains(lancer));
	}

	@Test
	public void testAction() {
		assertEquals(Action.PLUS_GRAND_NOMBRE_IMPAIR,
				((DeOrdre) this.deOrdre).actionDeOrdre());
	}

	@Test
	public void testConvertirValeur() {
		String chaine = this.deOrdre.convertirValeur();
		assertEquals("PLUS_GRAND_NOMBRE_IMPAIR", chaine);
	}
}
